package Q17_16_The_Masseuse;
public class QuestionB {
public static int maxMinutes(int[] massages) {
int[] memo = new int[massages.length];
return maxMinutes(massages, 0, memo);
}
public static int maxMinutes(int[] massages, int index, int[] memo) {
if (index >= massages.length) {
return 0;
}
if (memo[index] == 0) {
int bestWith = massages[index] + maxMinutes(massages, index + 2, memo);
int bestWithout = maxMinutes(massages, index + 1, memo);
memo[index] = Math.max(bestWith, bestWithout);
}
return memo[index];
}
public static void main(String[] args) {
int[] massages = {2*15, 1*15, 4*15, 5*15, 3*15, 1*15, 1*15, 3*15};
System.out.println(maxMinutes(massages));
}
}